<?php

     session_start();
     include('common.php');

    if (session_is_registered(MySBB_Admin_username) and $member_permission == 1)
    {

// **  **

         if ($groupper_row['admincp_fixup'] != 1)
         {
             $SF->error('المعذره .. هذه الميزه غير متاحه لك !');
         }

// **  **

         if ($_GET['repair'] == 1)
         {
             $SF->html('</td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td valign="top">');
             $SF->html('<title>اصلاح الجداول</title>');

             foreach ($MySmartBB_table as $value)
             {
                 $query = $DB->sql_query('REPAIR TABLE ' . $value);
                 if ($query)
                 {
                     $SF->msg('تم اصلاح الجدول ' . $value);
                 }
             }
         }

// **  **

         if ($_GET['subject'] == 1)
         {
             if ($_GET['index'] == 1)
             {
                 $SF->msg('من خلال هذه الخاصيه سوف يتم تحديث عدد مواضيع الاعضاء حسب المواضيع الصحيحه , قد تكون اعداد المواضيع للعضو رقم خاطئ بسبب بعض الاصلاحات على قواعد البيانات مثلاً , قد تستغرق هذه الخاصيه بعض الوقت و سوف يتم تقسيم هذا الاصلاح حتى تتم العمليه بسهوله .');
                 $SF->msg('<a href="fixup.php?subject=1&start_fix=1">إبدأ</a>');
             }

             if ($_GET['start_fix'] == 1)
             {
                 $perpage = 50;

                 if (empty($start))
                 {
                     $start = 0;
                 }

                 $getmember_query = $DB->sql_query("SELECT * FROM " . $db_prefix . "member");
                 $getmember_num   = $DB->sql_num_rows($getmember_query);
                 $next_page       = $start + $perpage;

                 if ($getmember_num > 50)
                 {
                     $result = $DB->sql_query("SELECT * FROM " . $db_prefix . "member LIMIT $start,$perpage");

                     while ($row = $DB->sql_fetch_array($result))
                     {
                         $total  = $DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "subject WHERE writer='" . addslashes($row['username']) . "'"))+$DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "reply WHERE writer='" . addslashes($row['username']) . "'"));
                         $update = $DB->sql_query("UPDATE " . $db_prefix . "member SET posts='" . $total . "' WHERE username='" . addslashes($row['username']) . "'");

                         if ($update)
                         {
                             $SF->msg('تم : ' . htmlspecialchars($row['username']));
                         }
                     }

                     if ($update)
                     {
                         $SF->goto('fixup.php?subject=1&start_fix=1&start=' . $next_page);
                     }

                     if ($next_page > $getmember_num)
                     {
                         $SF->goto('fixup.php?subject=1&end=1');
                     }
                 }
                 else
                 {
                     $result = $DB->sql_query("SELECT * FROM " . $db_prefix . "member LIMIT $start,$perpage");

                     while ($row = $DB->sql_fetch_array($result))
                     {
                         $total  = $DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "subject WHERE writer='" . addslashes($row['username']) . "'"))+$DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "reply WHERE writer='" . addslashes($row['username']) . "'"));
                         $update = $DB->sql_query("UPDATE " . $db_prefix . "member SET posts='" . $total . "' WHERE username='" . addslashes($row['username']) . "'");

                         if ($update)
                         {
                             $SF->msg('تم : ' . htmlspecialchars($row['username']));
                         }
                     }

                     if ($update)
                     {
                         $SF->goto('fixup.php?subject=1&end=1');
                     }
                 }
             }

             if ($_GET['end'] == 1)
             {
                 $SF->html('</td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td valign="top">');
                 $SF->html('<title>صيانة عداد المواضيع</title>');
                 $SF->msg('تم بفضل الله الانتهاء من العمليه');
             }
         }

// **  **

         if ($_GET['cache'] == 1)
         {
             $getcache_query = $DB->sql_query("SELECT * FROM " . $db_prefix . "style");

             while ($getchache_row = $DB->sql_fetch_array($getcache_query))
             {
                 $dir = '../' . $getchache_row['cache_path'] . '/';

                 if (is_dir($dir))
                 {
                     if ($dh = opendir($dir))
                     {
                         while (($file = readdir($dh)) !== false)
                         {
                             if ($file == '.' or $file == '..' or $file == '.htaccess' or $file == 'index.html')
                             {
                                 continue;
                             }

                             $del = unlink($dir . $file);

                             if ($del)
                             {
                                 $SF->msg('تم حذف ' . $dir . $file . ' بنجاح');
                             }
                             else
                             {
                                 $SF->msg('لم يتم حذف ' . $dir . $file);
                             }
                         }

                         closedir($dh);
                     }
                 }
             }
         }

// **  **

    }

?>